﻿using System;
using System.Collections.Generic;
using System.Text;

namespace DbHelper
{
    /// <summary>
    /// Exceção geral da biblioteca DbUtils.
    /// </summary>
    /// <remarks>Lucas Damiani</remarks>
    [global::System.Serializable]
    public class DbException : Exception
    {
        /// <summary>
        /// Construtor default da exceção.
        /// </summary>
        /// <remarks>Lucas Damiani</remarks>
        public DbException()
            : base()
        {
        }

        /// <summary>
        /// Construtor que recebe uma mensagem que será atribuída ao objeto Message da exceção.
        /// </summary>
        /// <param name="message">Mensagem da exceção.</param>
        /// <remarks>Lucas Damiani</remarks>
        public DbException(string message)
            : base(message)
        {
        }

        /// <summary>
        /// Construtor que recebe uma mensagem que será atribuída ao objeto Message da exceção, e a exceção interna.
        /// </summary>
        /// <param name="message">Mensagem da exceção.</param>
        /// <param name="inner">Exceção interna.</param>
        /// <remarks>Lucas Damiani</remarks>
        public DbException(string message, Exception inner)
            : base(message, inner)
        {
        }

        /// <summary>
        /// Construtor utilizado para serialização da exceção.
        /// </summary>
        /// <param name="info">Objeto que informa como a exceção deve ser serializada.</param>
        /// <param name="context">Contexto onde a exceção serializada será enviada.</param>
        /// <remarks>Lucas Damiani</remarks>
        protected DbException(
          System.Runtime.Serialization.SerializationInfo info,
          System.Runtime.Serialization.StreamingContext context)
            : base(info, context)
        {
        }
    }
}
